Search engines provide an interface to data sets and enable users to specify criteria about a datum of interest such that the search engine can locate matching items. The search criteria are referred to as a search query. In the case of text search engines, the search query may typically be expressed as a set of words that identify the desired concept that one or more documents may contain. The list of items that meet the criteria specified by the query is typically sorted or ranked. Ranking items by relevance (from highest to lowest) reduces the time required to find the desired information. Probabilistic search engines rank items based on measures of similarity between each item and the query. Boolean search engines typically only return items which match exactly without regard to order.